home *** CD-ROM | disk | FTP | other *** search
-
- /************************************************************************/
-
- /* KEXT.H - Externals File for RML Kermit.
- Chris Kennington 8th July 1985. */
-
- /* Revised 7th April to permit new main-menu operation;
- int procedure declarations removed to avoid compiler limitations. */
-
- struct mode {
- char m_value;
- char *m_text;
- char *m_help[5];
- };
-
-
- /* The following sets of #defines are only included in certain files:- */
-
- #ifdef DEFS1
- /* Global modes of Kermit program */
- #define KERM 1 /* command-mode */
- #define CONN 2 /* connect-mode */
- #define SEND 3 /* send-mode */
- #define RECV 4 /* receive-mode */
- #define CMND 5 /* send server commands */
- #define PARM 6 /* set parameters */
- #define DISK 8 /* process disk commands*/
- #define QUIT 9 /* exit from Kermit */
- #define MODMAX 9 /* number of modes */
-
- /* types of remote server command */
- #define GET 21
- #define RMH 22
- /* SEND 3 */
- #define LOGO 24
- #define BYE 25
- #define RMSV 26
- #define MAIN 27
- /* QUIT 9 */
- #define CMDMAX 9
-
- /* data items used only in main() */
- extern char head2[], head3[], head4[], head5[], head6[];
- extern struct mode modker, modconn, modrec, modsend,
- modparm, modcmd, modisk, modauto, modquit;
- extern struct mode rcget, rcrmsv, rcrmh, rclogo, rcbye, rcmain;
- extern struct mode *kmodes[], *rcmds[];
- extern char *locations[], inform[], interr[], canx[];
- #endif
-
- #ifdef DEFS2
- /* Locations of text items in header of screen */
- #define LOCCRCS 0x032a
- #define LOCDUPES 0x031e
- #define LOCESC 0x0141
- #define LOCFILE 0x0208
- #define LOCIN 0x023c
- #define LOCLOC 0x0540
- #define LOCMODE 0x0108
- #define LOCNAKS 0x0341
- #define LOCOUT 0x024a
- #define LOCPKTS 0x0228
- #define LOCSEQ 0x022f
- #define LOCSPEED 0x0127
- #define LOCTIMOS 0x0334
- #define LOCVER 0x0030
- /* others */
- #define DEFNAM "INVALID.NAM"
- #define DEFLEN 11 /* length of DEFNAM */
- #endif
-
- #ifdef DEFS3
- /* positions of rows & columns in set/show & menu:- */
- #define MENUCOL 20 /* main-menu heading */
- #define PKCOL 15 /* column for key-letter */
- #define PNMCOL 25 /* column for pamrameter-name */
- #define PVCOL 50 /* column for parameter-value */
- #define PA2COL 68 /* column for right-arrow */
- #define SCRTOP 7
- #define SCRBOT 16
- #define SCRSIZE 5 /* number of entries on screen */
- #define FIRSTLINE SCRTOP*256 /* first useable line of screen */
- #define LASTLINE (SCRTOP+(2*SCRSIZE)-2)*256 /* last useable line */
- #endif
-
- #ifdef DEFS4
- /* Global Kermit symbols */
- #define MAXPACKSIZ 94 /* Maximum packet size */
- #define MAXTRY 10 /* Times to retry a packet */
- #define MYQUOTE '#' /* Quote character I will use */
- #define MYPAD 0 /* No padding */
- #define MYEOL '\r' /* End-Of-Line character I need (CR) */
- #define MYTIME 10 /* Seconds after which I should be timed out */
-
- #endif
-
- #ifdef DEFS5
-
- /* BDOS Function-Codes */
- #define SELDSK 14 /* 0x0e */
- #define SCHFST 17 /* 0x17 */
- #define SCHNXT 18 /* 0x12 */
- #define DELFIL 19 /* 0x13 */
- #define RENFIL 23 /* 0x17 */
- #define CURDSK 25 /* 0x19 */
- #define SETDMA 26 /* 0x1a */
-
- #ifdef MPUZ80 /* following for CP/M only */
- #define GETROV 29 /* 0x1d */
- #define GETUSR 32 /* 0x20 */
- #define RSTDRV 37 /* 0x25 */
-
- #else /* following for MSDOS only */
- #define DIRPTH 0x47
- #define MCHFST 0x4e
- #define MCHNXT 0x4f
- #endif
-
- #endif
-
- /* Items which differ between 480Z & Nimbus:- */
-
- #ifdef MPUZ80 /* 480Z versions */
- #define CHAR char
- #define DEOL 0x19
- #define MAXSPD 7 /* max baud rate code */
- #define NL 0x0d
- #define SCRLEN 24 /* lines on screen */
-
- #else /* Nimbus versions */
- #define CHAR unsigned char
- #define DEOL 0x00
- #define MAXSPD 6 /* max baud rate code */
- #define NL 0x0d
- #define SCRLEN 25 /* lines on screen */
-
- #endif
-
-
- /* #defines needed in all files:- */
-
- /* ASCII characters etc. */
- #define SOH 1
- #define CTLC 0x03
- #define EOT 0x04
- #define BKSP 0x08
- #define TAB 0x09
- #define LF 0x0a
- #define UP 0x0b
- #define CR 0x0d
- #define XON 0x11
- #define XOFF 0x13
- #define FWD 0x18
- #define CTLZ 0x1a
- #define LARROW 0x1b /* left arrow */
- #define ESC 0x1b
- #define SP 0x20
- #define DELT 0x7f
-
- #define TRUE -1
- #define FALSE 0
-
-
- /* Kermit Macro Definitions */
- #define tochar(ch) ((ch) + ' ')
- #define unchar(ch) ((ch) - ' ')
- #define ctl(ch) ((ch) ^ 64 )
-
- #define forever while (1)
-
-
- /* procedures in code of standard Kermit */
-
- extern char sbreak(), sdata(), seof(), sfile(), sinit();
- extern char rpack(), rdata(), rfile(), rinit();
- /* extern int connect(), recsw(), sendsw(), spack();
- extern int bufemp(), bufill(), gnxtfl(), rpar(), spar();
- extern int error(), flushinput(), prerrpkt(), printmsg();
- */
-
- /* Additional routines in RML version */
-
- extern char ascch(), *avoid(), cpmunge(), strcp(), strcop();
- extern char dirprt(), filechek(), fileok(), osaction(), *userpath();
- extern CHAR wildex();
- /* extern int filexpand(), findcmd();
- extern int kermkill(), keyget(), keyline(), parse();
- extern int curset(), setbaud(), setpar(), setshow();
- extern int errdisp(), nextin(), nextout(), cmdhelp(), eschelp();
- */
- extern unsigned getram();
- extern FILE *kropen(), *kwopen();
-
- /* RML standard communications interface */
-
- /* extern int s4break(), s4env(), s4get(), s4go(), s4put(), s4reset();
- extern int s4set(), s4sleep(), s4speed(), s4stop(), s4test();
- */
-
- /* RML keyboard/screen standard procedures etc. */
-
- extern char kbdin();
- /* extern int bell(), cpmgo(), cursor(), jump();
- extern int keyinit(), keyrest(), netcool(), outc();
- extern int screen(), scroll(), txtout(), vtout(), vtline();
- */
-
- /* Global Original Kermit Variables */
-
- extern int size, /* Size of present data */
- rpsiz, /* Maximum receive packet size */
- spsiz, /* Maximum send packet size */
- pad, /* How much padding to send */
- n, /* Packet number */
- numtry, /* Times this packet retried */
- oldtry, /* Times previous packet retried */
- image, /* 8th-bit mode */
- filecount; /* Number of files left to send */
-
- extern char state, /* Present state of the automaton */
- padchar, /* Padding character to send */
- eol, /* End-Of-Line character to send */
- quote, /* Quote character in incoming data */
- **filelist, /* List of files to be sent */
- *filnam, /* Current file name */
- *recpkt, /* Receive packet buffer */
- *packet, /* Packet buffer */
- *oldpkt; /* Copy of last incoming data */
-
- extern FILE *fp; /* File pointer for current disk file */
-
-
- /* additional externals for RML version: */
-
- extern char *cmdline, *cmdparm[], dots[], files;
- extern char kmode, abtflag, nakflag, nmavoid, type;
- extern char env, esccode, spdcode, pager, scrline;
- extern char comctrl, escch, netslow, softeof;
- extern char *filblank, badmsg[], errmsg[], prompt[];
- extern char connto[], diskcmds[], mainsays[], rcvng[], sendf[], trying[];
- extern char sp0[],sp1[],sp2[],sp3[],sp4[],sp5[],sp6[],sp7[];
- extern char *spval[], blanx[], divide[], divisor[], forhelp[], kqhelp[], *parsets[];
- extern char *osline, oprompt[], *ermsg, *fname, *work;
- extern int commode, echo, list, oldimage, parity, fuzz[], rptflg;
- extern struct fcb *ownfcb;
-
- /* global event counters */
- extern int badcrcs, dupes, naxin, timouts;
-
- /* data in machine-dependent files (K480Z.C, KNIM.C) */
- extern char backto[], eprompt[], head1[];
- extern char diskfail[], null[], os1[], os2[];
- extern char oscmd1[], oscmd2[], prompt[];
-
-
- /* Aztec-C globals: */
- extern int errno;
-
- /********* End of Kermit externals header-file ********************/
-
-